/**
 * [验证价格]
 * 不小于0.00的价格
 * @return
 */
export const validatePrice = (value, callback) => {
  const reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/

  if (!value || reg.test(value)) {
    callback()
  } else {
    callback('请输入正确的价格格式')
  }
}

/**
 * [验证是否true]
 * @return
 */
export const validateTrue = (value, callback) => {
  if (typeof value === 'boolean' && value) {
    callback()
  } else {
    callback('')
  }
}

/**
 * [验证身份证格式]
 */
export const validateIdentity = (value, callback) => {
  const reg = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|x|X)$/

  if (reg.test(value)) {
    callback()
  } else {
    if (!value || value === '') {
      callback()
    } else {
      callback('身份证格式错误')
    }
  }
}

/**
 * [验证11位手机号]
 */
export const validateMobile = (value, callback) => {
  const mobileReg = /^1[3-9]\d{9}$/
  const phoneReg = /^0\d{2,3}-?\d{7,8}$/

  if (mobileReg.test(value) || phoneReg.test(value)) {
    callback()
  } else {
    if (!value || value === '') {
      callback()
    } else {
      if (`${value}`.indexOf('-') > -1) {
        callback('电话号码格式错误')
      } else {
        callback('手机号格式错误')
      }
    }
  }
}

/**
 * [验证银行卡]
 */
export const validateCard = (value, callback) => {
  const reg = /^[1-9]\d{9,19}$/

  if (reg.test(value)) {
    callback()
  } else {
    if (!value || value === '') {
      callback()
    } else {
      callback('银行卡格式错误')
    }
  }
}

/**
 * [8-20位字母、数字、特殊字符组合]
 */
export const validatePass = (value, callback) => {
  const reg =
    /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~$@$!%*#?&()+_=.,/<>])[A-Za-z\d~$@$!%*#?&()+_=.,/<>]{8,20}$/

  if (reg.test(value)) {
    callback()
  } else {
    if (!value || value === '') {
      callback()
    } else {
      callback('密码为8-20位大小字母、数字、特殊字符的组合')
    }
  }
}

/**
 * 邮箱
 */
export const validateEmail = (value, callback) => {
  const reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/

  if (reg.test(value)) {
    callback()
  } else {
    if (!value || value === '') {
      callback()
    } else {
      callback('邮箱格式不正确')
    }
  }
}

/**
 * 不能输入中文
 */
export const validateNotChi = (value, callback) => {
  const reg = /^[^\u4e00-\u9fa5\s]*$/

  if (reg.test(value)) {
    callback()
  } else {
    if (!value || value === '') {
      callback()
    } else {
      callback('不支持中文')
    }
  }
}
